-- Path of Building
--
-- Other active skills
-- Skill data (c) Grinding Gear Games
--
local skills, mod, flag, skill = ...

#skill Melee Default Attack
#flags attack melee projectile
#mods

#skill MeleeUseContactPoint Default Attack
#flags attack melee projectile
#mods

#skill GemDetonateMines
#flags spell
#mods

#skill Portal
#flags spell
#mods

#skill VaalBreach
#flags spell
#mods

#skill SupportUniqueMjolnerLightningSpellsCastOnHit Mjolner
	fromItem = true,
	statMap = {
		["triggered_spell_spell_damage_+%"] = {
			mod("Damage", "INC", nil, ModFlag.Spell, 0, { type = "Condition", var = "SkillIsTriggered" }),
		},
	},
#baseMod skill("showAverage", true)
#mods

#skill SupportAuraDuration Blessing
	fromItem = true,
	statMap = {
		["support_aura_duration_base_buff_duration"] = {
			skill("auraDuration", nil),
			div = 1000,
		},
		["support_aura_duration_base_reserve_duration"] = {
			skill("reserveDuration", nil),
			div = 1000,
		},
	},
#mods

#skill SupportUniqueCosprisMaliceColdSpellsCastOnMeleeCriticalStrike Cospri's Malice
	fromItem = true,
#mods

#skill UniqueSupportGreaterVolley Greater Volley
	fromItem = true,
	statMap = {
		["support_greater_volley_projectile_damage_+%_final"] = {
			mod("Damage", "MORE", nil, ModFlag.Projectile),
		},
	},
#mods

#skill RepeatingShockwave
#flags spell area
	fromItem = true,
#mods

#skill BirdAspect
#flags cast duration
	fromItem = true,
	statMap = {
		["chance_to_deal_double_damage_%"] = {
			mod("DoubleDamageChance", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Avian's Might", effectCond = "AviansMightActive" }),
		},
		["base_movement_velocity_+%"] = {
			mod("MovementSpeed", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Avian's Flight", effectCond = "AviansFlightActive" }),
		},
		["minion_movement_speed_+%"] = {
		},
	},
#baseMod skill("buffMinions", true)
#mods

#skill CatAspect
#flags cast duration
	fromItem = true,
	statMap = {
		["critical_strike_chance_+%"] = {
			mod("CritChance", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Cat's Stealth", effectCond = "CatsStealthActive" }),
		},
		["attack_speed_+%_granted_from_skill"] = {
			mod("Speed", "INC", nil, ModFlag.Attack, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Cat's Agility", effectCond = "CatsAgilityActive" }),
		},
		["cast_speed_+%_granted_from_skill"] = {
			mod("Speed", "INC", nil, ModFlag.Cast, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Cat's Agility", effectCond = "CatsAgilityActive" }),
		},
	},
#mods

#skill CrabAspect
#flags cast
	fromItem = true,
	statMap = {
		["physical_damage_reduction_%_per_crab_aspect_stack"] = {
			mod("PhysicalDamageReduction", "BASE", nil, 0, 0, { type = "Multiplier", var = "CrabBarrier" }, { type = "GlobalEffect", effectType = "Buff" }),
		},
		["max_crab_aspect_stacks"] = {
			mod("CrabBarriersMax", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
	},
#mods

#skill SpiderAspect
#flags cast duration
	fromItem = true,
	statMap = {
		["base_movement_velocity_+%"] = {
		},
		["base_damage_taken_+%"] = {
			mod("DamageTaken", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Debuff", effectName = "Spider's Web" })
		},
		["spider_aspect_max_web_count"] = {
			mod("Multiplier:SpiderWebApplyStackMax", "BASE", nil),
		},
	},
#baseMod skill("debuff", true)
#baseMod skill("stackCount", 1, { type = "Multiplier", var = "SpiderWebApplyStack", limitVar = "SpiderWebApplyStackMax" })
#mods

#skill BloodOffering
#flags spell duration
	fromItem = true,
	statMap = {
		["damage_+%"] = {
			mod("Damage", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }),
		},
	},
#baseMod skill("buffMinions", true)
#baseMod skill("buffNotPlayer", true)
#mods

#skill TriggeredBoneNova
#flags attack projectile
	fromItem = true,
#mods

#skill ColdAegis
#flags spell
	fromItem = true,
#mods

#skill TriggeredConsecrate Consecrate
#flags spell duration area
	fromItem = true,
#mods

#skill TriggeredSummonLesserShrine
#flags spell duration
	fromItem = true,
#mods

#skill ChaosDegenAuraUnique
#flags spell aura
	fromItem = true,
#baseMod skill("dotIsArea", true)
#mods

#skill DeathWalk
#flags cast area chaos
	fromItem = true,
#baseMod skill("explodeCorpse", true)
#baseMod skill("showAverage", true)
#mods

#noGem
#skill TouchOfGod
#flags attack area melee
	fromItem = true,
#mods

#skill ElementalAegis
#flags spell
	fromItem = true,
#mods

#skill SupportElementalPenetration Elemental Penetration
	fromItem = true,
#mods

#skill OnHitWhileCursedTriggeredCurseNova
#flags spell projectile duration
	fromItem = true,
	parts = {
		{
			name = "Convert to fire",
		},
		{
			name = "Convert to cold",
		},
		{
			name = "Convert to lightning",
		},
	},
	#baseMod mod("SkillPhysicalDamageConvertToFire", "BASE", 100, 0, 0, { type = "SkillPart", skillPart = 1 })
	#baseMod mod("SkillPhysicalDamageConvertToCold", "BASE", 100, 0, 0, { type = "SkillPart", skillPart = 2 })
	#baseMod mod("SkillPhysicalDamageConvertToLightning", "BASE", 100, 0, 0, { type = "SkillPart", skillPart = 3 })
#mods

#skill Envy
#flags spell aura area chaos
	fromItem = true,
	statMap = {
		["attack_minimum_added_chaos_damage"] = {
			mod("ChaosMin", "BASE", nil, 0, KeywordFlag.Attack, { type = "GlobalEffect", effectType = "Aura" }),
		},
		["attack_maximum_added_chaos_damage"] = {
			mod("ChaosMax", "BASE", nil, 0, KeywordFlag.Attack, { type = "GlobalEffect", effectType = "Aura" }),
		},
		["spell_minimum_added_chaos_damage"] = {
			mod("ChaosMin", "BASE", nil, 0, KeywordFlag.Spell, { type = "GlobalEffect", effectType = "Aura" }),
		},
		["spell_maximum_added_chaos_damage"] = {
			mod("ChaosMax", "BASE", nil, 0, KeywordFlag.Spell, { type = "GlobalEffect", effectType = "Aura" }),
		},
	},
#baseMod skill("radius", 40)
#mods

#skill FireAegis
#flags spell
	fromItem = true,
#mods

#skill FireBurstOnHit
#flags spell area
	fromItem = true,
#mods

#skill VaalAuraElementalDamageHealing
#flags spell aura area duration
	fromItem = true,
#baseMod skill("radius", 40)
#mods

#skill IcestormUniqueStaff12
#flags spell area duration
	fromItem = true,
#baseMod skill("duration", 0.15, { type = "PerStat", stat = "Int", div = 100, base = 1.5 })
#baseMod skill("radius", 25)
#baseMod skill("radiusSecondary", 10)
#mods

#skill TriggeredIcicleNova
#flags attack projectile
#baseMod skill("showAverage", true)
	fromItem = true,
#mods

#skill MerveilWarp
#flags spell area duration
	fromItem = true,
#mods

#skill LightningAegis
#flags spell
	fromItem = true,
#mods

#skill LightningSpell
#flags spell area
	fromItem = true,
#mods

#skill UniqueAnimateWeapon
#flags spell minion
	fromItem = true,
	minionList = {
		"UniqueAnimatedWeapon",
	},
	minionUses = {
		["Weapon 1"] = true,
	},
	statMap = {
		["attack_damage_+%"] = {
			mod("MinionModifier", "LIST", { mod = mod("Damage", "INC", nil, ModFlag.Attack) }),
		},
		["attack_speed_+%"] = {
			mod("MinionModifier", "LIST", { mod = mod("Speed", "INC", nil, ModFlag.Attack) }),
		},
	},
#baseMod mod("DisableWeapons", "FLAG", true, 0, 0, { type = "GlobalEffect", effectType = "Buff" })
#baseMod mod("Condition:Onslaught", "FLAG", true, 0, 0, { type = "GlobalEffect", effectType = "Buff" })
#baseMod skill("minionLevel", 59)
#mods

#skill TriggeredMoltenStrike
#flags attack projectile area
	fromItem = true,
#mods

#skill TriggeredSummonSpider
#flags spell minion duration
	fromItem = true,
	minionList = {
		"SpiderMinion",
	},
	statMap = {
		["summoned_spider_grants_attack_speed_+%"] = {
			mod("Speed", "INC", nil, ModFlag.Attack, 0, { type = "Multiplier", var = "RaisedSpider" }, { type = "GlobalEffect", effectType = "Buff", effectName = "Raised Spider" }),
		},
		["summoned_spider_grants_poison_damage_+%"] = {
			mod("Damage", "INC", nil, 0, KeywordFlag.Poison, { type = "Multiplier", var = "RaisedSpider" }, { type = "GlobalEffect", effectType = "Buff", effectName = "Raised Spider" }),
		},
	},
#mods

#skill ShadeForm
#flags spell duration
	fromItem = true,
#mods

#skill TriggeredShockedGround
#flags spell area duration
	fromItem = true,
#mods

#skill SpiritBurst
#flags spell projectile
	fromItem = true,
#baseMod skill("showAverage", true)
#mods

#skill StormCascadeTriggered
#flags spell area
	fromItem = true,
#mods

#skill SummonBeastialRhoa
#flags spell minion
	fromItem = true,
	minionList = {
		"RhoaUniqueSummoned",
	},
	statMap = {
		["base_number_of_beast_minions_allowed"] = {
			mod("ActiveBeastMinionLimit", "BASE", nil),
		},
	},
#baseMod skill("allowTotemBuff", true)
#baseMod flag("Condition:HaveBestialMinion", { type = "GlobalEffect", effectType = "Buff" })
#mods

#skill SummonBeastialSnake
#flags spell minion
	fromItem = true,
	minionList = {
		"SnakeSpitUniqueSummoned",
	},
	statMap = {
		["base_number_of_beast_minions_allowed"] = {
			mod("ActiveBeastMinionLimit", "BASE", nil),
		},
	},
#baseMod skill("allowTotemBuff", true)
#baseMod flag("Condition:HaveBestialMinion", { type = "GlobalEffect", effectType = "Buff" })
#mods

#skill SummonBeastialUrsa
#flags spell minion
	fromItem = true,
	minionList = {
		"DropBearUniqueSummoned",
	},
	statMap = {
		["base_number_of_beast_minions_allowed"] = {
			mod("ActiveBeastMinionLimit", "BASE", nil),
		},
	},
#baseMod skill("allowTotemBuff", true)
#baseMod flag("Condition:HaveBestialMinion", { type = "GlobalEffect", effectType = "Buff" })
#mods

#skill SummonEssenceSpirits
#flags spell minion
	fromItem = true,
	minionList = {
		"SummonedEssenceSpirit",
	},
#mods

#skill SummonHarbingerOfTheArcane
#flags spell minion
	fromItem = true,
#mods

#skill SummonHarbingerOfBrutality
#flags spell minion
	fromItem = true,
#mods

#skill SummonHarbingerOfDirections
#flags spell minion
	fromItem = true,
#mods

#skill SummonHarbingerOfFocus
#flags spell minion
	fromItem = true,
#mods

#skill SummonHarbingerOfStorms
#flags spell minion
	fromItem = true,
#mods

#skill SummonHarbingerOfTime
#flags spell minion
	fromItem = true,
#mods

#skill TriggeredSummonGhostOnKill
#flags spell minion
	fromItem = true,
	minionList = {
		"SummonedPhantasm",
	},
	statMap = {
		["base_number_of_support_ghosts_allowed"] = {
			mod("ActivePhantasmLimit", "BASE", nil),
		},
	},
#mods

#skill SummonRigwaldsPack
#flags spell minion duration
	fromItem = true,
	minionList = {
		"SummonedSpectralWolf",
	},
#mods

#skill SummonVoidSphere Summon Volatile Anomaly
#flags spell area duration
	fromItem = true,
#mods

#skill TentacleSmash
#flags attack area
	fromItem = true,
#mods

#skill AvianTornado
#flags spell projectile duration
	fromItem = true,
#mods

#skill VoidGaze
#flags spell duration
	fromItem = true,
	statMap = {
		["base_chaos_damage_resistance_%"] = {
			mod("ChaosResist", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Debuff" }),
		},
	},
#mods